const Koa = require('koa'); // 1. 引入koa
const Router = require('koa-router');
const json = require('koa-json');
const logger = require('koa-logger')
const bodyparse = require('koa-bodyparser');
const user = require('./server/controllers/user');// 引入controllers/user.js 文件
const app = new Koa(); // 2. new一个koa对象
var cors = require('koa2-cors'); // 解决跨域问题

const router = new Router();

// allowedMethods 可有可无。
// 作用是当请求api的方法匹配的时候，会调用该方法。
// 比如应该是GET请求，而前端发起的是POST请求，此时就会调用该中间件方法
app.use(json());
app.use(bodyparse());
app.use(cors());
app.use(router.routes()).use(router.allowedMethods()); 
app.use(logger());

/* 登录 */
router.post('/api/login', async (ctx, next) => {
  await user.userlogin(ctx);
});

/* 注销 */
router.post('/api/logout', async (ctx, next) => {
  await user.userlogout(ctx);
});

router.get('/api/info', async (ctx, next) => {
  ctx.body = {
    code: 20000,
    data: {
       roles:[
          "admin"
       ],
       name: "admin",
       avatar: "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
    }
  };
});


app.listen(8080, () => {
    console.log('start success. http://localhost:8080');
}); // 3.监听端口并启动